Angular-এ পাইপস ব্যবহার করে ডেটা টেম্পলেটের মধ্যে রূপান্তর বা ফরম্যাট করা যায়। উদাহরণস্বরূপ, আপনি ডেটাকে একটি নির্দিষ্ট ফরম্যাটে (যেমন তারিখ, মুদ্রা বা বড় হাতের অক্ষর) প্রদর্শন করতে চাইলে Angular এর বিল্ট-ইন পাইপগুলো ব্যবহার করতে পারেন। তবে, যদি আপনার প্রয়োজন হয় এমন কোনো কাস্টম রূপান্তর, তাহলে আপনি নিজেই একটি কাস্টম পাইপ তৈরি করতে পারেন।
কাস্টম পাইপগুলি ব্যবহারকারীর প্রয়োজন অনুযায়ী ডেটা রূপান্তরের জন্য খুবই উপকারী, যেমন নামের প্রথম অক্ষর বড় করা, নির্দিষ্ট ভাষায় টেক্সট কনভার্ট করা, ফিল্টারিং ইত্যাদি।
পাইপ ক্লাস তৈরি করুন: কাস্টম পাইপ তৈরি করতে Angular CLI ব্যবহার করা যায়। এটি কমান্ডে টাইপ করে তৈরি করা সম্ভব:
ng generate pipe pipe-name
উদাহরণস্বরূপ, একটি capitalize
পাইপ তৈরি করতে:
ng generate pipe capitalize
এই কমান্ডটি capitalize.pipe.ts
নামে একটি পাইপ ক্লাস তৈরি করবে।
ধরা যাক, আপনি একটি কাস্টম পাইপ তৈরি করতে চান যেটি একটি স্ট্রিংয়ের প্রথম অক্ষর বড় করবে (capitalize first letter):
capitalize.pipe.ts
:import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'capitalize'
})
export class CapitalizePipe implements PipeTransform {
transform(value: string): string {
if (!value) {
return value;
}
return value.charAt(0).toUpperCase() + value.slice(1);
}
}
এখানে:
@Pipe
ডেকোরেটর পাইপটির নাম নির্ধারণ করে, যা টেম্পলেটের মধ্যে ব্যবহৃত হবে (এখানে capitalize
)।transform
মেথডে পাইপের কার্যকরী লজিক থাকে। এখানে, এটি প্রথম অক্ষরকে বড় করতে কাজ করে।একবার কাস্টম পাইপ তৈরি হয়ে গেলে, আপনি এটি Angular টেম্পলেটে ব্যবহার করতে পারেন।
<p>{{ 'hello world' | capitalize }}</p>
এখানে, hello world
স্ট্রিংটি কাস্টম capitalize
পাইপ ব্যবহার করে প্রথম অক্ষর বড় হয়ে Hello world
হিসাবে রেন্ডার হবে।
কাস্টম পাইপগুলি আরও জটিল লজিকও পরিচালনা করতে পারে, যেমন সংখ্যা ফরম্যাটিং, মুদ্রার রূপান্তর, বা ডেটা ফিল্টারিং। নিচে একটি উন্নত পাইপের উদাহরণ দেওয়া হলো, যা একটি নির্দিষ্ট মুদ্রায় একটি সংখ্যা রূপান্তর করবে।
currency-format.pipe.ts
:import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'currencyFormat'
})
export class CurrencyFormatPipe implements PipeTransform {
transform(value: number, currencySymbol: string = '$'): string {
if (value == null) {
return '';
}
return `${currencySymbol}${value.toFixed(2)}`;
}
}
এখানে, এই পাইপটি একটি সংখ্যা রূপান্তর করবে এবং একটি মুদ্রার সিম্বল যোগ করবে। আপনি প্রয়োজন অনুযায়ী মুদ্রার সিম্বল পরিবর্তন করতে পারেন।
<p>{{ 1234.567 | currencyFormat:'€' }}</p>
এখানে, সংখ্যা 1234.567
মুদ্রার সিম্বল €
যোগ করে রূপান্তরিত হবে এবং €1234.57
প্রদর্শিত হবে (দ্বিতীয় দশমিকের পর দুটি সংখ্যা দেখানো হবে)।
Angular পাইপগুলি সাধারণত Pure Pipes হিসেবে কাজ করে, যার মানে হলো তারা শুধুমাত্র ইনপুট পরিবর্তিত হলে ট্রান্সফর্মেশন করে। এর ফলে, একই ইনপুট বারবার ট্রান্সফর্ম করলে পাইপটি পুনরায় রেন্ডার হবে না।
যদি আপনি কোনো পাইপের মধ্যে এমন কিছু লজিক ব্যবহার করেন যেটি ইনপুটের পরিবর্তন ছাড়া ট্রিগার হবে, তখন সেগুলো Impure Pipe হিসেবে ব্যবহৃত হতে পারে। তবে impure pipes পারফরমেন্সে কিছুটা প্রভাব ফেলতে পারে, তাই এটি ব্যবহার করার সময় সতর্কতা অবলম্বন করা উচিত।
কাস্টম পাইপ Angular অ্যাপ্লিকেশনে ডেটার রূপান্তর করার শক্তিশালী উপায়। এটি সহজে ইউজার ইন্টারফেসে ডেটাকে রূপান্তর করতে এবং কাস্টম ফরম্যাটে দেখাতে সাহায্য করে। Angular CLI দিয়ে দ্রুত কাস্টম পাইপ তৈরি করা সম্ভব, এবং তা টেম্পলেটে ব্যবহার করা সহজ।
Read more